This invention relates to an electronic security system for use, for example, to control door locks.
Various forms of electronic security systems are already known, in which a combination stored on a key card (key) is recognized by an electronic circuit to unlock a security device. In many applications of the security device, for example, as a hotel room door lock, it is desirable regularly to change the combination to which the electronic circuit will respond. To ensure that the combination in the lock circuitry and that on the key currently in use match one another, i.e., that the circuit will respond to the combination on the key, each electronic circuit can be connected to a common control center. However, such connections require extensive wiring, which is especially difficult to effect when converting the locks of an existing system to electronic locks.
To achieve the ability to reprogram a lock combination yet avoid wiring, several solutions have been suggested. In describing these systems, the following terminology will be used. "Current user" refers to the holder of a key which has been used in the lock and has stored thereon the same combination as stored in the lock. "Next user" refers to a holder of a key which is next in sequence after the key held by the current user, but the next user's key has not yet been used in the lock, "New next user" refers to the holder of a key which is next in sequence to the key held by the next user. The current user's key can be referred to as the "current key", and the combination stored thereon can be referred to as the "current combination." The adjectives "next" and "new next" can also be used in this way.
The terms "first," "second" and "third" will be used to describe any three successive users, their respective keys and combinations on the keys. For example, where the first user is a current user, "first," "second" and "third" can be used in place of "current," "next" and "new next," respectively.
One suggested solution is to store a fixed sequence of combinations in the circuit and to use each next key to call up the next combination in the sequence. Another suggestion utilizes keys, each of which has two combinations on it, namely the current combination and the next combination. The next combination is stored in the lock in addition to the current combination. When the new next key is used, the next combination is replaced by a new next combination, and the next combination replaces the current combination.
None of the previously suggested systems provides the ideal solution to the problem. At any given time the next combination is already established and this reduces security.
For example, in the system taught by U.S. Pat. No. 3,800,284 (the Zucker et al system), there is a first function generator at the lock and a second function generator at a control center at which keys for the lock are made. The first and second function generators produce numbers in the same predetermined number sequence. When a next user arrives at the control center, the next combination is generated by using a predetermined algorithm to combine the current combination with a first number in the predetermined sequence. The next combination is then stored on a key. Meanwhile, the function generator at the lock has also generated the same first number in the sequence and has applied it to the current combination using the same algorithm to generate the same next combination. Both the current and next combinations are stored in the lock. When the next user inserts the key into the lock, the lock compares the combination on the key with the current combination stored in the lock. If the two match, the lock is opened. If the two do not match, the lock then compares the combination on the key with the next combination stored in the lock. If these two combinations match, the next combination replaces the current combination, and a new next combination is generated and replaces the next combination.
In part to avoid the use of a predetermined sequence, the system set forth in U.S. Pat. No. 4,396,914 (the Aston system) was developed. In this system, the next user's key has randomly generated calculation data and a next combination stored thereon, The next combination is calculated by applying the calculation data or code to the current combination. When the next key is inserted in the lock, the current combination will not match the combination on the key. The lock will thus apply the calculation code, using the same algorithm to the current combination and will compare that result with the next combination. If there is a match, the next combination is stored in the lock in place of the current combination, and the lock will open. When a new next user arrives at the control center and obtains a key, a new calculation code is randomly generated and stored on the key along with a new next combination generated by applying the new calculation code to the next combination. When the new next key is inserted in the lock, the system works the same way as described above.
However, in the Aston system as well as other wireless systems, operation can be adversely affected due to mis-operation of the key maker, non-use of a key or the like. For example, assuming the current key is the first key, if the second key is never inserted in the lock (i.e. if the second key is "skipped"), the third key will not open the lock. This defect, though rare, can be a source of annoyance to a hotel guest who receives the "third key", only to find it does not open the door to his assigned room. The reason this defect occurs can be easily understood from the following.
The lock currently stores the first combination even though the first guest has checked out. When the second guest checks in he is given a key with a randomly generated calculation code (second code) and a second combination. The second combination was generated from the first combination and the second random number (calculation code) in accordance with a fixed algorithm, e.g., an exclusive OR operation or the like. If the second key is used in the lock, it will not only open the door, but will also replace the first combination stored in the lock with the second combination. It will be recalled that the first combination from the lock and the second random code from the key are operated on by the fixed algorithm to generate a second combination, which is then compared with the second combination on the key. This sequence will continue with each guest and each new key.
However, let us assume that the second guest never uses the second key. The reasons may vary, such as a lost key, or the guest has to leave the hotel before ever entering the room. The third guest checks in and receives a third key having a third combination and a third random code. It will be noted that the third combination will have been generated from the second combination and the third random code by using the fixed algorithm. When the third key is inserted in the lock, which is still storing the first combination, the key will be ineffective. The first comparison will be between the third combination from the key and the first combination as stored in the lock. They will not provide the requisite match to open the lock. Next, the third random code, taken from the key and the first combination, taken from the lock, will be operated on by the fixed algorithm to generate a combination, which will neither be the first nor the second combination. This additional combination will also not match the third combination.
Skipping the second key causes quite an inconvenience to the third user who will try the key in the lock and it will fail. The third user will then have to return to the control center, have the operator try to figure out what went wrong, and perhaps reissue the second key. In that case, the third user must use the second key to synchronize the lock, and then use the third key. If this procedure does not work or is not followed the lock memory must be reprogrammed to store the second or third, combination.